package com.whfc.wxmp.api.fse.service;

import com.whfc.common.result.ListData;
import com.whfc.fse.dto.FseCrawlerDTO;
import com.whfc.fse.dto.FseCrawlerDataDTO;
import com.whfc.fse.dto.FseCrawlerDataLogDTO;
import com.whfc.fse.dto.FseFvsDeviceDTO;

import java.util.Date;
import java.util.List;

/**
 * @author qzexing
 * @version 1.0
 * @date 2021/11/4 16:34
 */
public interface WxFseCrawlerService {
    /**
     * 获取履带吊列表
     *
     * @param deptId   组织架构ID
     * @param bindFlag 绑定状态
     * @param netState 网络状态
     * @return 履带吊列表
     */
    List<FseCrawlerDTO> list(Integer deptId, Integer bindFlag, Integer netState);

    /**
     * 获取履带吊最新数据
     *
     * @param crawlerId 履带吊ID
     * @return 履带吊最新数据
     */
    FseCrawlerDataDTO getLatest(Integer crawlerId);

    /**
     * 获取履带吊历史数据
     *
     * @param crawlerId 履带吊ID
     * @param date      日期
     * @return 履带吊历史数据
     */
    List<FseCrawlerDataLogDTO> getCrawlerLog(Integer crawlerId, Date date);

    /**
     * 获取履带吊历史数据
     *
     * @param crawlerId 履带吊ID
     * @param date      日期
     * @param field     返回字段
     * @return 履带吊历史数据
     */
    List<FseCrawlerDataLogDTO> getCrawlerLog(Integer crawlerId, Date date, String field);

    /**
     * 获取视频监控列表
     *
     * @param crawlerId 履带吊ID
     * @return 视频监控列表
     */
    List<FseFvsDeviceDTO> fvsList(Integer crawlerId);
}
